home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / EmacsFrameP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-03-05  |  3.3 KB  |  110 lines

  1. /*
  2.  
  3. This file is part of XEmacs.
  4.  
  5. XEmacs is free software; you can redistribute it and/or modify it
  6. under the terms of the GNU General Public License as published by the
  7. Free Software Foundation; either version 2, or (at your option) any
  8. later version.
  9.  
  10. XEmacs is distributed in the hope that it will be useful, but WITHOUT
  11. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13. for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with XEmacs; see the file COPYING.  If not, write to the Free
  17. Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  18.  
  19. /* Synched up with: Not in FSF. */
  20.  
  21. #ifndef _EmacsFrameP_h
  22. #define _EmacsFrameP_h
  23.  
  24. #include "xintrinsicp.h"
  25. #include <X11/CoreP.h>
  26. #ifdef LWLIB_USES_MOTIF
  27. #include "xmprimitivep.h"
  28. #endif
  29. #include "EmacsFrame.h"
  30.  
  31. typedef struct {
  32.   struct frame*    frame;        /* the *emacs* frame object */
  33.  
  34.   /* Resources that can't be done from lisp.
  35.    */
  36.   char*        geometry;        /* geometry spec of this frame */
  37.   Boolean    iconic;            /* whether this frame is iconic */
  38.  
  39.   /* The rest of this is crap and should be deleted.
  40.    */
  41.   int        minibuffer;    /* 0: normal frames with minibuffers.
  42.                  * 1: frames without minibuffers 
  43.                  * 2: minibuffer only. */
  44.   Boolean    unsplittable;    /* frame can only have one window */
  45.  
  46.   int        internal_border_width;    /* internal borders */
  47.   int        scrollbar_width;    /* width of frame vertical sb's */
  48.   int        scrollbar_height;    /* height of frame horizontal sb's */
  49.   int        top_toolbar_height;    /* height of top toolbar */
  50.   int        bottom_toolbar_height;    /* height of bottom toolbar */
  51.   int        left_toolbar_width;    /* width of left toolbar */
  52.   int        right_toolbar_width;    /* width of right toolbar */
  53.   Pixel        top_toolbar_shadow_pixel;
  54.   Pixel        bottom_toolbar_shadow_pixel;
  55.   Pixel        background_toolbar_pixel;
  56.   Pixmap    top_toolbar_shadow_pixmap;
  57.   Pixmap    bottom_toolbar_shadow_pixmap;
  58.   Dimension    toolbar_shadow_thickness;
  59.   unsigned char scrollbar_placement;
  60.   int        interline;        /* skips between lines */
  61.  
  62. #ifdef I18N4
  63.   XFontSet    font;            /* font set */
  64. #else
  65.   XFontStruct*    font;            /* font */
  66. #endif
  67.   Pixel        foreground_pixel;    /* foreground */
  68.  
  69.   Pixel        cursor_color;        /* text cursor color */
  70.   Boolean    bar_cursor;        /* 1 if bar, 0 if block */
  71.  
  72.   Boolean    visual_bell;        /* flash instead of beep */
  73.   int        bell_volume;        /* how loud is beep */
  74.  
  75.   Boolean    menubar_p;        /* initially show a menubar? */
  76.   Boolean    initially_unmapped;    /* inhibit initial window mapping */
  77.   Boolean    use_backing_store;    /* backing store for menubar & ew? */
  78.  
  79.   Dimension     preferred_width;        /* if non-zero, preferred size for */
  80.   Dimension     preferred_height;    /* QueryGeometry() */
  81.   /* private state */
  82.  
  83. } EmacsFramePart;
  84.  
  85. typedef struct _EmacsFrameRec {    /* full instance record */
  86.     CorePart        core;
  87. #ifdef LWLIB_USES_MOTIF
  88.     XmPrimitivePart    primitive;
  89. #endif
  90.     EmacsFramePart    emacs_frame;
  91. } EmacsFrameRec;
  92.  
  93. typedef struct {            /* new fields for EmacsFrame class */
  94.     int dummy;
  95. } EmacsFrameClassPart;
  96.  
  97. typedef struct _EmacsFrameClassRec {    /* full class record declaration */
  98.     CoreClassPart        core_class;
  99. #ifdef LWLIB_USES_MOTIF
  100.     XmPrimitiveClassPart    primitive_class;
  101. #endif
  102.     EmacsFrameClassPart    emacs_frame_class;
  103. } EmacsFrameClassRec;
  104.  
  105. extern EmacsFrameClassRec emacsFrameClassRec;     /* class pointer */
  106.  
  107.  
  108.  
  109. #endif /* _EmacsFrameP_h */
  110.